1. Technical Field
The present invention relates generally to a client/server networking system and, more particularly, to a system and method for providing trusted services using a trusted server agent (TSA) that provides various trusted services to the client on behalf of a trusted server.
2. Description of Related Art
In many applications, clients receive trusted and reliable services (e.g., time-stamping of a message, reliable delivery of a message) from a trusted third-party server. However, in many scenarios, there may be a significant delay in receiving such services due to either network congestion or server overload. In addition, the server may not always be accessible. Accordingly, a client/server networking system that can provide trusted services to clients which overcomes these problems is desirable.
The present invention is directed to a client/server networking topology comprising a trusted server agent (TSA) (e.g., software application) that runs either at a client node or at a node that is in close proximity to the client node to provide various trusted services to the client on behalf of a trusted server. Furthermore, in instances where the node in which the TSA software runs (i.e., the client or a node in close proximity) may be untrusted, and/or unreliable, the present invention provides methods for making the TSA software running on an untrusted and/or unreliable node provide trusted and reliable services.
In one aspect of the invention, a system for providing trusted services comprises: at least one trusted server (TS); at least one client; and at least one trusted server agent (TSA), wherein the at least one TSA provides trusted services to the at least one client on behalf of the at least one TS.
In another aspect of the present invention, the trusted service provided by a TSA is obtaining a trusted timestamp. The TSA may obtain a trusted timestamp from another entity in the network such as a TS or TSA. The remote entity may determine a reliable time based on its local clock, network clock, or through communication with other entities in the network other than the TSA requesting the trusted timestamp.
In still another aspect of the present invention, a TS may dynamically assign a plurality of remote trusted entities (such as TSs or TSAs) with which a particular TSA is to communicate with for providing trusted services.
In another aspect of the present invention, the trusted service provided by the TSA is reliable delivery of a message. The TSA may contact a remote entity in the network to request reliable deliver of a document or message in the event that the TSA is unable to deliver such document or message.
In yet another aspect of the present invention, the trusted service provided by the TSA is reliable delivery of a document or message with a trusted timestamp.
These and other aspects, features and advantages of the present invention will be described and become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.